iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0

簡介

Navigation優點:

  • 可視化的頁面導航圖,便於我們快速了解頁面間的關係。
  • 通過destination和action完成頁面間的導航
  • 方便添加頁面切換的動畫。
  • 提供頁面之間類型安全的參數傳遞 - Safe Args。
  • 通過NavigationUI 對菜單(menu)、底部導航(Bottom Navigation)、抽屜(側拉)導航(Navigation drawer)進行統一的管理。
  • 支持深層鏈接DeepLink。
  • 支持ViewModel, 可以將ViewModel的範圍限定為導航圖, 讓目標頁面之間共享數據。

其中Navigation的主要元素有:

  • Navigation Graph:一種新的xml資源文件,包含應用程式所有的頁面,以及"頁面間的關係"。
  • NavHostFragment:一個特殊的Fragment,可以將它看作是其他"Fragment的容器"。
  • NavController:用於在程式碼中完成Navigation Graph具體的"頁面切換"工作。
  • 它們三者之間的關係:
    當你想切換Fragment時,使用NavController物件,告訴它你想要去Navigation Graph中的哪個Fragment,NavController會將你想去的Fragment展示NavHostFragment中。

上一篇
Day10 - Android Navigation drawer 側拉導航欄
下一篇
Day12 - RecyclerView 簡單使用
系列文
Android 開發 30天 初學之路筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言